package example.day04;

/**
 * @author 涛哥
 * @nick_name "deep as the sea"
 * @contact qq:657270652 wx:doit_edu
 * @site www.doitedu.cn
 * @date 2021-03-05
 * @desc 方法定义语句示例代码
 */
public class _07_Method方法Demo {

    /**
     * 定义一个方法，实现
     *    参数：一个整数i
     *    返回：无
     *    功能：打印i遍“我一定要学好大数据，高薪就业，衣锦还乡"
     */
    static void mySword(int num){
        for(int i=0;i<num;i++){
            System.out.println("我一定要学好大数据，高薪就业，衣锦还乡");
        }
    }




    /**
     * 定义一个方法，实现
     *   参数：两个整数
     *   返回：两个整数之和
     */
    static int myAdd(int i,int j){
         int sum = i+j;
         j +=10;
         return sum;
    }


    static int myAdd2(int a,int b,int c){
       return a+b+c;
    }

    /**
     * 定义一个方法，实现：
     *    参数：一个整数
     *    返回：这个数是否为奇数
     */
    static boolean isOdd(int b){
        return b % 2 == 0;
    }

    /**
     * 定义一个方法，实现：
     *   参数：传入一个整数数组
     *   返回：这个数组中的最大值
     *
     */
    static int findMax(int[] arr){
        int max = arr[0];
        for(int i=0;i<arr.length;i++){
            if(arr[i]>max) max = arr[i];
        }
        return max;
    }


    /**
     * 定义一个方法，实现：
     *    参数：传入一个整数数组
     *    返回：这个数组中元素的平均值
     */
    static double findAvg(int[] arr){
        int sum = 0;
        for (int i=0;i<arr.length;i++){
            sum += arr[i];
        }
        return (double)sum/arr.length;
    }


    /**
     * main方法，是一个程序的执行入口方法
     * @param args
     */
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        // 调用方法，传递进去的是变量的值（值传递）
        int tmp = myAdd(a,b);
        System.out.println(tmp);  // 30
        System.out.println(b);


        // 调用求平均值的方法
        int[] arr = {10,20,30,20,50,10};
        double avg = findAvg(arr);
        System.out.println("平均值为： "+avg);

        // 调用方法：我的誓言
        mySword(10);

    }

}


